Real - Time Performance of Dynamic Memory Allocation Algorithms Isabelle Puaut
نویسنده
چکیده
Dynamic memory management is an important aspect of modern software engineering techniques. However, developers of real-time systems avoid to use it because they fear that the worst-case execution time of the dynamic memory allocation routines is not bounded or is bounded with a too important bound. The degree to which this concern is valid is quantiied in this paper, by giving detailed average and worst-case measurements of the timing performances of a comprehensive panel of dynamic memory allocators (sequential ts, indexed ts, segregated ts, buddy systems). For each allocator, we compare its worst-case behavior obtained analytically, with (i) the worst timing behavior observed by executing real and synthetic workloads, (ii) its average timing performance. We also quantify on a real workload (a MPEG player) the impact of the allocators worst-case allocation times on the workload end-to-end execution time. The results provide a guideline to developers of real-time systems to choose whether to use dynamic memory management or not, and which dynamic allocation algorithm should be preferred from the viewpoint of predictability. Performance Temps-r eel d'Algorithmes d'Allocation Dynamique de M emoire R esum e : La gestion dynamique de la m emoire est un el ement important dans les m ethodes modernes de d eveloppement des logiciels. Toutefois, les concepteurs de syst emes temps-r eel evitent d'allouer dynamiquement de la m emoire, car ils craignent que le pire temps pour allouer/lib erer de la m emoire ne soit pas born e ou que la borne soit trop im-portante. Nous nous int eressons dans cet article a evaluer dans quelle mesure une telle crainte est justii ee, en evaluant les temps d'allocation et lib eration (en moyenne et au pire) d'un large eventail d'allocateurs dynamique de m emoire. Pour chaque allocateur m emoire, nous comparons son pire comportement temporel obtenu par analyse de l'algorithme avec (i) son pire comportement eeectivement observ e sur des applications de charge (synth etique et r eelle) (ii) son comportement temporel moyen. Nous examinons egalement sur une application r eelle (un d ecodeur MPEG) l'impact des temps pire cas de gestion dynamique de la m emoire sur les temps d'ex ecution de l'application. Les r esultats pr esent es dans cette article fournissent des guides aux concepteurs de syst emes temps-r eel pour savoir s'ils doivent ou non utiliser de l'allocation dynamique de m emoire, et quel algorithme de gestion dynamique de m emoire est le plus …
منابع مشابه
Real-Time Performance of Dynamic Memory Allocation Algorithms
Dynamic memory management is an important aspect of modern software engineering techniques. However, developers of real-time systems avoid using it because they fear that the worst-case execution time of the dynamic memory allocation routines is not bounded or is bounded with an excessively large bound. The degree to which this concern is valid is quantified in this paper, by giving detailed av...
متن کاملLow-Complexity Algorithms for Static Cache Locking in Multitasking Hard Real-Time Systems
Cache memories have been extensively used to bridge the gap between high speed processors and relatively slow main memories. However, they are a source of predictability problems because of their dynamic and adaptive behavior, and thus need special attention to be used in hard-real time systems. A lot of progress has been achieved in the last ten years to statically predict the worst-case behav...
متن کاملArtisst: AN EXTENSIBLE AND MODULAR SIMULATION TOOL FOR REAL-TIME SYSTEMS DAVID DECOTIGNY AND ISABELLE PUAUT
Artisst (Artisst is a Real-Time System Simulation Tool) is a modular event-driven simulation framework for real-time systems. It is targeted towards the performance evaluation of complex dynamic real-time systems made of tasks performing arbitrary computations and exhibiting a complex and realistic pattern for their arrival law, synchronization relations, and execution time. The simulator actua...
متن کاملTowards a Predictable and High Performance Use of Instruction Caches in Hard Real-Time Systems
Cache memories have been widely used in order to bridge the gap between high speed processors and relatively slow main memories. However they are a source of predictability problems. A lot of progress has been achieved to model caches, in order to determine safe and precise bounds on (i) tasks’ WCETs in the presence of caches; (ii) cacherelated preemption delays. An alternative approach to cope...
متن کاملMaking Dynamic Memory Allocation Static to Support Wcet Analyses1
Current worst-case execution time (WCET) analyses do not support programs using dynamic memory allocation. This is mainly due to the unpredictable cache performance when standard memory allocators are used. We present algorithms to compute a static allocation for programs using dynamic memory allocation. Our algorithms strive to produce static allocations that lead to minimal WCET times in a su...
متن کامل